10 MySQL表的详细操作

482次阅读
没有评论

共计 1969 个字符,预计需要花费 5 分钟才能阅读完成。

引入

在学习表的详细操作之前有必要先了解存储引擎这块的知识👉🏻存储引擎

一. 表介绍

库是一个文件夹, 那么表就是一个文件, 而表中的一条记录就相当于文件的一行内容, 不同的是表中的记录都有对应的标题, 这个标题就称之为表的 字段

10 MySQL 表的详细操作

如上图所示 id、name、age、sex就称之为 字段, 下面的都称之为一条条的记录

二. 创建表 (creat)

1. 创建表的完整语法

  • 在同一张表内, 字段名不能相同
  • 宽度和约束条件可选, 字段名和类型是必须的
  • 约束条件可以写多个
  • 最后一个字段不能有逗号, 否则报错
create table [表名]([字段名 1] [类型(宽度)] [约束条件],
    [字段名 1] [类型(宽度)] [约束条件],
    [字段名 1] [类型(宽度)] [约束条件],
    ....
);

2. 查看表

show tables;  # 查看当前库下的所有表
show create table [表名];  # 指定查看某一个表

3. 创建示例

create database db01 charset utf8;  # 创建一个数据库
use db01;     # 进入库
create table t01(id int,name varchar(12),age int(3),sex char);  # 创建表 t01
create table t02(id int,name varchar(12),age int(3),sex char);  # 创建表 t02
create table t03(id int,name varchar(12),age int(3),sex char);  # 创建表 t03
show tables;  # 查看当前库下所有的表

10 MySQL 表的详细操作

三. 查看表结构 (desc)

describe [表名];  # 查看表结构
desc [表名];      # 上面的简写

1. 演示

describe t01;
desc t02;

10 MySQL 表的详细操作

四. 表数据类型

表数据类型有:

  • 数值类型

  • 整数类型

    • 小整数
    • 大整数
    • 整数
    • 等等.....
  • 浮点数类型

    • 单精度
    • 双精度
    • 准确小数值
  • 字符串类型

  • 日期和时间

  • 枚举和集合

由于篇幅过长, 请到该篇文章查看👉🏼表数据类型详解

五. 表完整性约束

表的相关操作 :

  • null
  • not null
  • default
  • unique
  • primary key
  • auto_increment
  • froeign key
  • 等等.....

由于篇幅过长, 请到该篇文章查看👉🏼表完整性约束

六. 修改表 (alter)

1. 修改存储引擎

🍓语法
alter table [表名] engine=[存储引擎类型];

🍓演示
alter table t02 engine=myisam;  # 将表 t02 的存储引擎修改成 myisam

10 MySQL 表的详细操作

2. 修改表名

🍓语法
alter table [旧表名] rename [新表名];

🍓演示
alter table t01 rename tt01;  # 将 t01 改成 tt01

10 MySQL 表的详细操作

3. 增加字段

🍓三种语法
alter table [表名] 
    add [字段名] [数据类型] [完整性约束条件...],
    add [字段名] [数据类型] [完整性约束条件...];  # 多个字段用逗号隔开

alter table [表名]
    add [字段名] [数据类型] [完整性约束条件...] first;  # 插入到第一个字段

alter table [表名]
    add [字段名] [数据类型] [完整性约束条件...] after [字段名];  # 添加到某某字段之后

🍓演示
alter table tt01 add aa int not null,add bb char(10) not null default "B";  # 增加 aa 和 bb 字段
alter table tt01 add cc int first;       # 将 cc 字段新增到最前面
alter table tt01 add dd int after name;  # 将 dd 字段新增到 name 字段后面

10 MySQL 表的详细操作

4. 删除字段

🍓语法
alter table [表名] drop [字段名];

🍓演示
alter table tt01 drop cc;  # 删除表 tt01 的 cc 字段
alter table tt01 drop dd;  # 删除表 tt01 的 dd 字段

10 MySQL 表的详细操作

5. 修改字段类型

🍓语法
alter table [表名] modify [字段名] [数据类型(宽度)] [约束条件];
alter table [表名] change [就字段名] [新字段名] [字段类型(宽度)] [约束条件];

🍓演示
alter table tt01 modify aa varchar(16);  # 将表 tt01 的 aa 字段类型改为 varchar
alter table tt01 modify bb int;          # 将表 tt01 的 bb 字段类型改为 int

10 MySQL 表的详细操作

七. 复制表 (create table)

  • 值赋值表结构和记录, 主键、外键、索引无法复制
select * from emp2;
desc emp2;
create table new_emp2 select * from emp2;  # 复制表 emp2(也可以加上条件)
select * from new_emp2;  # 查看新表记录
desc new_emp2;           # 查看新表结构

10 MySQL 表的详细操作

八. 删除表

drop table [表名];
drop table t03;  # 删除表 t03

10 MySQL 表的详细操作

---END---

正文完
 
shawn
版权声明:本站原创文章,由 shawn 2023-06-16发表,共计1969字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)